﻿/****************
 * Copyright 2016 Brian Tabone
 * Licensed under the Apache 2.0 License
 * http://www.apache.org/licenses/LICENSE-2.0
 * 
 * IStreamChannel.cs
 * Defines the IStreamChannel interface for streaming two way network connections
 * 8/8/2016
 */

using System;
using System.Net;
using System.Threading;

namespace IAO.Common.Interfaces.Networking
{
    public interface IStreamChannel
    {
        ManualResetEvent AllDone { get; set; }

        IPAddress BindToIP { get; set; }

        int BindToPort { get; set; }

        void ReadCallback(IAsyncResult ar);
        void AcceptCallback(IAsyncResult ar);
        void StartListening();
    }
}